import axios from 'axios';
Vue.use(axios)
var str ='http://localhost:8080/fishAndBearPaw';
let http = axios.create({
　　httpbaseURL: 'http://localhost:8080/fishAndBearPaw',
　　withCredentials: true,
　　headers: {
　　　　'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
　　},
　　transformRequest: [function (data) {
　　　　let newData = '';
　　　　for (let k in data) {
　　　　　　if (data.hasOwnProperty(k) === true) {
　　　　　　　　newData += encodeURIComponent(k) + '=' + encodeURIComponent(data[k]) + '&';
　　　　　　}
　　　}
　　　　return newData;
　　}]
});
if(process.env.NODE_ENV == 'development'){
    http.defaults.baseURL = process.env.VUE_APP_BASE_API;
}
else if(process.env.NODE_ENV == 'production'){
    http.defaults.baseURL = str;
}

function apiAxios(method, url, params, response) {
　　http({
　　　　method: method,
　　　　url: url,
　　　　data: method === 'POST' || method === 'PUT' ? params : null,
　　　　params: method === 'GET' || method === 'DELETE' ? params : null,
　　　　}).then(function (res) {
　　　　　　response(res);
　　　　}).catch(function (err) {
　　　　response(err);
　　　　})
}

export default {
　　get: function (url, params, response) {
　　　　return apiAxios('GET', url, params, response)
　　},
　　post: function (url, params, response) {
　　　　return apiAxios('POST', url, params, response)
　　},
　　put: function (url, params, response) {
　　　　return apiAxios('PUT', url, params, response)
　　},
　　delete: function (url, params, response) {
　　　　return apiAxios('DELETE', url, params, response)
　　}
}